class A {
  String info = 'this is A';

  printA() {
    print('A');
  }
}

class B {
  printB() {
    print('B');
  }
}

class Person {
  String name;
  num age;
  Person(this.name, this.age);

  printInfo() {
    print("${this.name}---${this.age}");
  }
}

class C extends Person with A, B {
  C(String name, num age) : super(name, age);
}

void main() {
  var c = new C("张三", 20);
  c.printA();
  c.printB();
  print(c.info);
  c.printInfo();
}
